package com.jin.vo;

import com.jin.model.Category;
import lombok.Getter;
import lombok.Setter;

import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

@Getter
@Setter
public class CategoriesAllVo {
    private List<CategoriesPureVo> roots;
    private List<CategoriesPureVo> subs;

    //这个转换可以放在vo里面来处理
    public CategoriesAllVo(Map<Integer,List<Category>> map) {
        //变成流以后就可以用函数式表达式
        roots = map.get(1).stream()
                //map 方法用于映射每个元素到对应的结果，以下代码片段使用 map 把Category转化为CategoriesPureVo：
                //有待深入 构造函数的引入
                .map(CategoriesPureVo::new)
                //最后在转换为集合
                .collect(Collectors.toList());

       subs = map.get(2).stream()
               .map(CategoriesPureVo::new)
               .collect(Collectors.toList());
    }
}
